u<?php
/**
 * 微信支付
 */
class WeixinpayAction extends Action{
    public function _initialize() {
        $this->error('访问非法');
        exit;
    }

    public function record($array){
        $shouru=M('shouru');
        $str='';
        foreach ($array as $key=>$item){
            $str.='****'.$key.'=>'.$item.'***';
        }
        $data['user_id']=100000;
        $data['in_bz']=$str;
        $shouru->add($data);
    }
    /**
     * notify_url接收页面
     */
    public function notify(){
        // 导入微信支付sdk
//        Vendor('Weixinpay.Weixinpay');
//        $wxpay=new \Weixinpay();
        import("@.ORG.Weixinpay");
        $wxpay=new Weixinpay();
        $Id =$_SESSION[C('USER_AUTH_KEY')];
        $result=$wxpay->notify();  
        $this->record($result);
       
        
        if ($result){
            // 验证成功 修改数据库的订单状态等 $result['out_trade_no']为订单号
            $gp_order=M('gp_order');
            $dingdan=$gp_order->where(array('id'=>$result['out_trade_no'],'is_pay'=>0))->find();
                if($dingdan){



                    $res = $gp_order->execute("update __TABLE__ set is_pay=1,pay_time=".time()." where id=".$dingdan['id']);
                    if ($res){

                        //购买公排
                        if ($dingdan['type'] ==0){
                            D('Fck')->create_info_fck2($dingdan['fck_id'],1);
                        }

                        //充值
                        if ($dingdan['type'] ==1){
                            M('fck')->execute("update __TABLE__ set agent_cash=agent_cash+".$dingdan['money']." where id=".$dingdan['fck_id']);
                        }
                    }
//                    $fck=M('fck');
//                    $fck1=D('Fck');
//                    $valuearray = array(
//                        'ispay'=>'1',
//                        'okdt' => mktime()
//                    );
                    //处理这个单
//                    $tmp=$gp_order->where(array('id'=>$dingdan['id']))->setField($valuearray);
//                    $type=$dingdan['lx'];

//                   if($dingdan['isfh']==0){
//
//
//
//                             if($type==1){
//                                    $remit=M('remit');
//                                    $aa=$fck->where('id='.$Id)->find();
//                                    $name=$aa['nickname'];
//                                    $address=M('address');
//                                    $bb=$address->where('pid='.$Id)->find();
//                                    $tel=$bb['tel'];
//                                    $ad=$address['address'];
//
//                                    $data                   = array();
//                                    $data['uid']            = $Id;
//                                    $data['b_uid']            = time();
//                                    $data['user_id']        = $name;
//                                    $data['orderid']          = $dingdan['ccxhbz'];
//                                    $data['or_time']         = $tel;//存储国家，查询币值
//                                    $data['amount']         = $dingdan['cprice'];
//                                    $data['bankid']             =$ad;
//                                    $data['kh_money']             =0;
//                                    $rs2 = $remit->add($data);
//                                    $gouwu->execute("UPDATE __TABLE__ SET isfh=1 WHERE id=".$dingdan['id']);
//
//                             }
//                             elseif($type==2){
//
//                                $pora = M('product');
//
//                                $money=$dingdan['cprice'];
//                                $pora_rs = $pora->where('cid=1') ->find();
//                                $dj=$pora_rs['money'];
//                                $ePoints=$money/$dj;
//                                $fck_rs=$fck->where('id='.$Id)->find();
//
//                                $data                 = array();
//                                $data['uid']            = $Id;
//                                $data['rdt']            = time();
//                                $data['user_id']        =$fck_rs['nickname'];
//                                $data['money']          = $ePoints;
//                                $data['epoint']         = 100;//存储国家，查询币值
//                                $data['is_pay']         = 0;
//                                $data['x1']             =0;
//                                $rs2 = $cash->add($data);
//
//                                $fck->execute("UPDATE __TABLE__ SET b3=b3+".$ePoints." WHERE id=".$Id);
//                                $fck1->lingdaojiang($Id,$money);
//                            }
//                            elseif($type==4){
//                                   $cb=$fck->execute("UPDATE __TABLE__ SET b0=b0+".$dingdan['cprice']." WHERE id=".$dingdan['uid']);
//
//                                   $chongzhi=M('chongzhi');
//                                   $data = array();
//                                   $data['uid']     = $dingdan['uid'];
//
//                                   $data['huikuan'] = $dingdan['cprice'];
//                                   $data['rdt']     = time();
//                                   $data['is_pay']  = 0;
//                                   $data['zhuanghao']  = $dingdan['ccxhbz'];
//                                   $chongzhi->add($data);
//
//
//                                   $gouwu->execute("UPDATE __TABLE__ SET isfh=1 WHERE id=".$dingdan['id']);
//
//
//
//
//                            }
//
//                   }
                }
        }else{
                echo '验证失败！';
                exit;
        }
    }

    /**
     * 公众号支付 必须以get形式传递 out_trade_no 参数
     * 示例请看 /Application/Home/Controller/IndexController.class.php
     * 中的weixinpay_js方法
     */
    public function pay(){
        // 导入微信支付sdk
//        Vendor('Weixinpay.Weixinpay');
        import("@.ORG.Weixinpay");
//        $wxpay=new \Weixinpay();
        $wxpay=new Weixinpay();
        // 获取jssdk需要用到的数据
        $data=$wxpay->getParameters();
        // 将数据分配到前台页面
        $assign=array(
            'data'=>json_encode($data)
            );
        $this->assign($assign);
       
        $this->display('Weixinpay/pay');
    }

}